// pages/search/index.js
//导入request请求工具类
import {
  getBaseUrl,
  requestUtil
} from '../../utils/requestUtil.js';
Page({
  /**
   * 页面的初始数据
   */
  data: {
    productList: [], //商品数组
    inputValue: " ", //输入框的值
    isFocus: false,  //取消按钮是否显示
    baseUrl: ''
  },

  TimeoutId: -1,

  //处理input事件，只负责更新输入框内容显示和取消按钮显示隐藏
  handleInput(e) {
    const { value } = e.detail;
    this.setData({
      inputValue: value,
      isFocus: value.trim()!== ""
    });
  },

  // 处理回车键按下后执行搜索操作
  async handleSearch() {
    const { inputValue } = this.data;
    if (!inputValue.trim()) {
      return;
    }
    clearTimeout(this.TimeoutId);
    const result = await requestUtil({
      url: '/product/search',
      data: { q: inputValue }
    });
    this.setData({
      productList: result.message
    });
  },

  // 处理取消按钮点击事件，清空搜索框内容、隐藏取消按钮、清除定时器
  handleCancel() {
    this.setData({
      inputValue: "",
      isFocus: false
    });
    clearTimeout(this.TimeoutId);
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    const baseUrl = getBaseUrl();
    this.setData({
      baseUrl
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})